%%%-------------------------------------------------------------------
%%% File    : p28.erl
%%% Author  : Plamen Dragozov <plamen at dragozov.com>
%%% Description : 
%%% Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:
%%% 21 22 23 24 25
%%% 20  7  8  9 10
%%% 19  6  1  2 11
%%% 18  5  4  3 12
%%% 17 16 15 14 13
%%% It can be verified that the sum of both diagonals is 101.
%%% What is the sum of both diagonals in a 1001 by 1001 spiral formed in the same way?
%%% Created : 23 Dec 2008
%%%-------------------------------------------------------------------
-module(p28).

%% API
-compile(export_all).

%%====================================================================
%% API
%%====================================================================
%%--------------------------------------------------------------------
%% Function: 
%% Description:
%%--------------------------------------------------------------------
solution(N) when N rem 2 > 0->
    spiral(N, 0).

%%====================================================================
%% Internal functions
%%====================================================================

%Sum of the Nth corners:
% SN = N**2 + (N**2 - (N - 1)) + (N**2 - 2*(N-1)) + (N**2 - 3*(N-1))
% SN = 4*(N**2) - 6*(N-1)

spiral(1, Acc) -> Acc + 1;
spiral(N, Acc) ->
    spiral(N-2, Acc + sum(N)).

sum(N)->
    4*N*N - 6*N + 6.

